/**
 * 冒泡算法的rust实现
 * 冒泡算法即给定个数组,按从小到大排列
 * @date 2024/4/12
 */
fn main() {
    let mut arr: [i32; 10] = [1, 3, 0, 6, -1, -10, 100, 99, -1000, 200];
    bundle_sort(&mut arr);
    println!("{:?}", arr);
}

/**
 * 冒泡算法按从小到大排序并返回
 */
fn bundle_sort(arr: &mut [i32]) -> &mut [i32] {
    for i in 0..arr.len() {
        let mut s: i32;
        for x in i..arr.len() {
            //使用>号从小到大排序,使用<从大到小排序
            if arr[i] > arr[x] {
                s = arr[x];
                arr[x] = arr[i];
                arr[i] = s;
            }
        }
    }
    arr
}
